[INFO] cloning repository https://github.com/MinkowskiMetric/like_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MinkowskiMetric/like_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinkowskiMetric%2Flike_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinkowskiMetric%2Flike_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 044d8ed8a9ce7d7fde575baf9bd63b1d0149bdda
[INFO] checking MinkowskiMetric/like_rust against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinkowskiMetric%2Flike_rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/MinkowskiMetric/like_rust on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/MinkowskiMetric/like_rust
[INFO] finished tweaking git repo https://github.com/MinkowskiMetric/like_rust
[INFO] tweaked toml for git repo https://github.com/MinkowskiMetric/like_rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/MinkowskiMetric/like_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unic-ucd v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-age v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-block v0.9.0
[INFO] [stderr]   Downloaded unic-char-basics v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-hangul v0.9.0
[INFO] [stderr]   Downloaded unic-idna v0.9.0
[INFO] [stderr]   Downloaded unic v0.9.0
[INFO] [stderr]   Downloaded unic-char v0.9.0
[INFO] [stderr]   Downloaded unic-idna-punycode v0.9.0
[INFO] [stderr]   Downloaded unic-emoji v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-case v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-name_aliases v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-normal v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-common v0.9.0
[INFO] [stderr]   Downloaded unic-idna-mapping v0.9.0
[INFO] [stderr]   Downloaded unic-ucd-name v0.9.0
[INFO] [stderr]   Downloaded unic-normal v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2fc69ce44dc17e97125700d3e35f9842c1cc18d77463017c23e0762804c836b0
[INFO] running `Command { std: "docker" "start" "-a" "2fc69ce44dc17e97125700d3e35f9842c1cc18d77463017c23e0762804c836b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2fc69ce44dc17e97125700d3e35f9842c1cc18d77463017c23e0762804c836b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fc69ce44dc17e97125700d3e35f9842c1cc18d77463017c23e0762804c836b0", kill_on_drop: false }`
[INFO] [stdout] 2fc69ce44dc17e97125700d3e35f9842c1cc18d77463017c23e0762804c836b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d53c78a2e4298044fe388df6472e31c7477841f2b0ed60b1a12258a91192fd5e
[INFO] running `Command { std: "docker" "start" "-a" "d53c78a2e4298044fe388df6472e31c7477841f2b0ed60b1a12258a91192fd5e", kill_on_drop: false }`
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]     Checking unic-char-basics v0.9.0
[INFO] [stderr]     Checking unic-idna-punycode v0.9.0
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking unic-ucd-hangul v0.9.0
[INFO] [stderr]     Checking unic-ucd-category v0.9.0
[INFO] [stderr]     Checking unic-ucd-bidi v0.9.0
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking unic-ucd-common v0.9.0
[INFO] [stderr]     Checking unic-ucd-block v0.9.0
[INFO] [stderr]     Checking unic-ucd-name_aliases v0.9.0
[INFO] [stderr]     Checking unic-ucd-ident v0.9.0
[INFO] [stderr]     Checking unic-idna-mapping v0.9.0
[INFO] [stderr]     Checking unic-ucd-name v0.9.0
[INFO] [stderr]     Checking unic-ucd-age v0.9.0
[INFO] [stderr]     Checking unic-emoji-char v0.9.0
[INFO] [stderr]     Checking unic-ucd-case v0.9.0
[INFO] [stderr]     Checking unic-char v0.9.0
[INFO] [stderr]     Checking unic-emoji v0.9.0
[INFO] [stderr]     Checking unic-bidi v0.9.0
[INFO] [stderr]     Checking unic-ucd-normal v0.9.0
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]     Checking unic-normal v0.9.0
[INFO] [stderr]     Checking unic-idna v0.9.0
[INFO] [stderr]     Checking unic-ucd v0.9.0
[INFO] [stderr]     Checking unic v0.9.0
[INFO] [stderr]     Checking like_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `skip_to_end_delimiter` is never used
[INFO] [stdout]  --> src/lexer/delimiter_checker.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait DelimitedTokenReader: TokenReader {
[INFO] [stdout]   |                  -------------------- method in this trait
[INFO] [stdout] 6 |     fn skip_to_end_delimiter(&mut self, ty: DelimiterType);
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `consume_to_semicolon` is never used
[INFO] [stdout]   --> src/lexer/token_reader.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait TokenReader {
[INFO] [stdout]    |                  ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn consume_to_semicolon(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `consume_to_semicolon` is never used
[INFO] [stdout]   --> src/lexer/token_reader.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait TokenReader {
[INFO] [stdout]    |                  ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn consume_to_semicolon(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.03s
[INFO] running `Command { std: "docker" "inspect" "d53c78a2e4298044fe388df6472e31c7477841f2b0ed60b1a12258a91192fd5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d53c78a2e4298044fe388df6472e31c7477841f2b0ed60b1a12258a91192fd5e", kill_on_drop: false }`
[INFO] [stdout] d53c78a2e4298044fe388df6472e31c7477841f2b0ed60b1a12258a91192fd5e
[INFO] checking MinkowskiMetric/like_rust against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMinkowskiMetric%2Flike_rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/MinkowskiMetric/like_rust on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/MinkowskiMetric/like_rust
[INFO] finished tweaking git repo https://github.com/MinkowskiMetric/like_rust
[INFO] tweaked toml for git repo https://github.com/MinkowskiMetric/like_rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/MinkowskiMetric/like_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0d17e70080ad9c9a659bf4f19d6a560d6fd7f83ee22f51cb5403642829db0115
[INFO] running `Command { std: "docker" "start" "-a" "0d17e70080ad9c9a659bf4f19d6a560d6fd7f83ee22f51cb5403642829db0115", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0d17e70080ad9c9a659bf4f19d6a560d6fd7f83ee22f51cb5403642829db0115", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d17e70080ad9c9a659bf4f19d6a560d6fd7f83ee22f51cb5403642829db0115", kill_on_drop: false }`
[INFO] [stdout] 0d17e70080ad9c9a659bf4f19d6a560d6fd7f83ee22f51cb5403642829db0115
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e42448db63557ab8fe4c09c9d936e14a697140d07a84e8f0c90907393870a88
[INFO] running `Command { std: "docker" "start" "-a" "1e42448db63557ab8fe4c09c9d936e14a697140d07a84e8f0c90907393870a88", kill_on_drop: false }`
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]     Checking unic-idna-punycode v0.9.0
[INFO] [stderr]     Checking unic-char-basics v0.9.0
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking unic-ucd-hangul v0.9.0
[INFO] [stderr]     Checking unic-ucd-category v0.9.0
[INFO] [stderr]     Checking unic-ucd-bidi v0.9.0
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking unic-ucd-case v0.9.0
[INFO] [stderr]     Checking unic-ucd-name v0.9.0
[INFO] [stderr]     Checking unic-ucd-name_aliases v0.9.0
[INFO] [stderr]     Checking unic-ucd-age v0.9.0
[INFO] [stderr]     Checking unic-ucd-block v0.9.0
[INFO] [stderr]     Checking unic-emoji-char v0.9.0
[INFO] [stderr]     Checking unic-idna-mapping v0.9.0
[INFO] [stderr]     Checking unic-ucd-ident v0.9.0
[INFO] [stderr]     Checking unic-ucd-common v0.9.0
[INFO] [stderr]     Checking unic-char v0.9.0
[INFO] [stderr]     Checking unic-emoji v0.9.0
[INFO] [stderr]     Checking unic-bidi v0.9.0
[INFO] [stderr]     Checking unic-ucd-normal v0.9.0
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]     Checking unic-normal v0.9.0
[INFO] [stderr]     Checking unic-idna v0.9.0
[INFO] [stderr]     Checking unic-ucd v0.9.0
[INFO] [stderr]     Checking unic v0.9.0
[INFO] [stderr]     Checking like_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/expression_parser/parser.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |                         start_pos..tokens.current_pos(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/expression_parser/parser.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |                         start_pos..tokens.current_pos(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:104:65
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 break Span::from_parts(Expression::Placeholder, start_pos..tokens.current_pos());
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 start_pos..tokens.current_pos(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         start_pos..end_pos
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         start_pos..end_pos
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |                     self.chars.current_pos()..self.chars.current_pos(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         start_pos..end_pos,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 identifier_start..self.chars.current_pos(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 start_pos..self.chars.current_pos(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:291:54
[INFO] [stdout]     |
[INFO] [stdout] 291 |             .map_err(|error| Span::from_parts(error, start_pos..start_pos))?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:356:30
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 let digits = digits_start_pos..digits_end_pos;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     start_pos..end_pos,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:439:51
[INFO] [stdout]     |
[INFO] [stdout] 439 | ...                   contents: content_start_pos..content_end_pos,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:443:37
[INFO] [stdout]     |
[INFO] [stdout] 443 | ...                   start_pos..self.chars.current_pos(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   content_end_pos..content_end_pos,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:611:51
[INFO] [stdout]     |
[INFO] [stdout] 611 |         token.map(|token| Span::from_parts(token, start_pos..self.chars.current_pos()))
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/expression_parser/parser.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |                         start_pos..tokens.current_pos(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/expression_parser/parser.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |                         start_pos..tokens.current_pos(),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:104:65
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 break Span::from_parts(Expression::Placeholder, start_pos..tokens.current_pos());
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 start_pos..tokens.current_pos(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 0..0,
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:231:85
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 ExpressionError::UnexpectedToken(Span::from_parts(Token::EndOfFile, 4..4)),
[INFO] [stdout]     |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:234:21
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     4..4,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:246:31
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     contents: 0..1,
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 0..1,
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     contents: 2..3,
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 2..3,
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:270:61
[INFO] [stdout]     |
[INFO] [stdout] 270 |             Span::from_parts(Expression::BoolLiteral(true), 0..4),
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:274:62
[INFO] [stdout]     |
[INFO] [stdout] 274 |             Span::from_parts(Expression::BoolLiteral(false), 0..5),
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:286:67
[INFO] [stdout]     |
[INFO] [stdout] 286 |                         Span::from_parts(PathComponent::SelfType, 0..4),
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:287:80
[INFO] [stdout]     |
[INFO] [stdout] 287 |                         Span::from_parts(PathComponent::Identifier { contents: 6..11 }, 6..11),
[INFO] [stdout]     |                                                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:287:89
[INFO] [stdout]     |
[INFO] [stdout] 287 |                         Span::from_parts(PathComponent::Identifier { contents: 6..11 }, 6..11),
[INFO] [stdout]     |                                                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 0..11,
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:299:67
[INFO] [stdout]     |
[INFO] [stdout] 299 |                         Span::from_parts(PathComponent::SelfType, 2..6),
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:300:80
[INFO] [stdout]     |
[INFO] [stdout] 300 |                         Span::from_parts(PathComponent::Identifier { contents: 8..13 }, 8..13),
[INFO] [stdout]     |                                                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:300:89
[INFO] [stdout]     |
[INFO] [stdout] 300 |                         Span::from_parts(PathComponent::Identifier { contents: 8..13 }, 8..13),
[INFO] [stdout]     |                                                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 0..13,
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:319:75
[INFO] [stdout]     |
[INFO] [stdout] 319 | ...                   PathComponent::Identifier { contents: 0..3 },
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:320:37
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...                   0..3,
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:323:75
[INFO] [stdout]     |
[INFO] [stdout] 323 | ...                   PathComponent::Identifier { contents: 5..8 },
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:324:37
[INFO] [stdout]     |
[INFO] [stdout] 324 | ...                   5..8,
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:327:75
[INFO] [stdout]     |
[INFO] [stdout] 327 | ...                   PathComponent::Identifier { contents: 10..15 },
[INFO] [stdout]     |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:328:37
[INFO] [stdout]     |
[INFO] [stdout] 328 | ...                   10..15,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |                         0..15,
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:334:33
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     identifier: 16..21,
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:336:17
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 0..21,
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:350:83
[INFO] [stdout]     |
[INFO] [stdout] 350 | ...                   PathComponent::Identifier { contents: 0..3 },
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:351:45
[INFO] [stdout]     |
[INFO] [stdout] 351 | ...                   0..3,
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:354:83
[INFO] [stdout]     |
[INFO] [stdout] 354 | ...                   PathComponent::Identifier { contents: 5..8 },
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:355:45
[INFO] [stdout]     |
[INFO] [stdout] 355 | ...                   5..8,
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:358:83
[INFO] [stdout]     |
[INFO] [stdout] 358 | ...                   PathComponent::Identifier { contents: 10..15 },
[INFO] [stdout]     |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:359:45
[INFO] [stdout]     |
[INFO] [stdout] 359 | ...                   10..15,
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:363:33
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...                   0..15,
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:365:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | ...                   identifier: 16..21,
[INFO] [stdout]     |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                         0..21,
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:369:33
[INFO] [stdout]     |
[INFO] [stdout] 369 |                     identifier: 22..27,
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/expression_parser/parser.rs:371:17
[INFO] [stdout]     |
[INFO] [stdout] 371 |                 0..27,
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:235:49
[INFO] [stdout]     |
[INFO] [stdout] 235 |             [Span::from_parts(Token::EndOfFile, 1..1)],
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 0..1,
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:245:52
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 Span::from_parts(Token::OpenParen, 0..1),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:246:52
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 Span::from_parts(Token::EndOfFile, 1..1),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:248:62
[INFO] [stdout]     |
[INFO] [stdout] 248 |             [Span::from_parts(TokenError::UnclosedDelimiter, 0..1)],
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:254:52
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 Span::from_parts(Token::OpenParen, 0..1),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:255:53
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 Span::from_parts(Token::CloseParen, 1..2),
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:256:52
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 Span::from_parts(Token::EndOfFile, 2..2),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:264:52
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 Span::from_parts(Token::OpenParen, 0..1),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:265:53
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 Span::from_parts(Token::CloseParen, 1..2),
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:266:52
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 Span::from_parts(Token::EndOfFile, 2..2),
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:268:64
[INFO] [stdout]     |
[INFO] [stdout] 268 |             [Span::from_parts(TokenError::MismatchedDelimiter, 1..2)],
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:278:48
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Span::from_parts(Token::OpenBrace, 0..1)
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:282:48
[INFO] [stdout]     |
[INFO] [stdout] 282 |             Span::from_parts(Token::OpenParen, 1..2)
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:286:48
[INFO] [stdout]     |
[INFO] [stdout] 286 |             Span::from_parts(Token::OpenParen, 2..3)
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:290:48
[INFO] [stdout]     |
[INFO] [stdout] 290 |             Span::from_parts(Token::OpenParen, 3..4)
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:296:47
[INFO] [stdout]     |
[INFO] [stdout] 296 |             Span::from_parts(Token::Question, 27..28)
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/delimiter_checker.rs:300:48
[INFO] [stdout]     |
[INFO] [stdout] 300 |             Span::from_parts(Token::EndOfFile, 28..28)
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         start_pos..end_pos
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         start_pos..end_pos
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |                     self.chars.current_pos()..self.chars.current_pos(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:152:25
[INFO] [stdout]     |
[INFO] [stdout] 152 |                         start_pos..end_pos,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 identifier_start..self.chars.current_pos(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 start_pos..self.chars.current_pos(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:291:54
[INFO] [stdout]     |
[INFO] [stdout] 291 |             .map_err(|error| Span::from_parts(error, start_pos..start_pos))?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:356:30
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 let digits = digits_start_pos..digits_end_pos;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     start_pos..end_pos,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:439:51
[INFO] [stdout]     |
[INFO] [stdout] 439 | ...                   contents: content_start_pos..content_end_pos,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:443:37
[INFO] [stdout]     |
[INFO] [stdout] 443 | ...                   start_pos..self.chars.current_pos(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   content_end_pos..content_end_pos,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:611:51
[INFO] [stdout]     |
[INFO] [stdout] 611 |         token.map(|token| Span::from_parts(token, start_pos..self.chars.current_pos()))
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:651:71
[INFO] [stdout]     |
[INFO] [stdout] 651 |         check_tokens_chars("", [Ok(Span::from_parts(Token::EndOfFile, 0..0))]);
[INFO] [stdout]     |                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:656:74
[INFO] [stdout]     |
[INFO] [stdout] 656 |         check_tokens_chars("   ", [Ok(Span::from_parts(Token::EndOfFile, 3..3))]);
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:657:73
[INFO] [stdout]     |
[INFO] [stdout] 657 |         check_tokens_chars("\t", [Ok(Span::from_parts(Token::EndOfFile, 1..1))]);
[INFO] [stdout]     |                                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:658:75
[INFO] [stdout]     |
[INFO] [stdout] 658 |         check_tokens_chars("\r\n", [Ok(Span::from_parts(Token::EndOfFile, 2..2))]);
[INFO] [stdout]     |                                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:665:52
[INFO] [stdout]     |
[INFO] [stdout] 665 |             [Ok(Span::from_parts(Token::EndOfFile, 11..11))],
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:674:71
[INFO] [stdout]     |
[INFO] [stdout] 674 |                 Err(Span::from_parts(TokenError::UnterminatedComment, 0..2)),
[INFO] [stdout]     |                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:675:55
[INFO] [stdout]     |
[INFO] [stdout] 675 |                 Ok(Span::from_parts(Token::EndOfFile, 11..11)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:680:52
[INFO] [stdout]     |
[INFO] [stdout] 680 |             [Ok(Span::from_parts(Token::EndOfFile, 14..14))],
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:685:71
[INFO] [stdout]     |
[INFO] [stdout] 685 |                 Err(Span::from_parts(TokenError::UnterminatedComment, 3..5)),
[INFO] [stdout]     |                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:686:55
[INFO] [stdout]     |
[INFO] [stdout] 686 |                 Ok(Span::from_parts(Token::EndOfFile, 14..14)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:692:71
[INFO] [stdout]     |
[INFO] [stdout] 692 |                 Err(Span::from_parts(TokenError::UnterminatedComment, 0..2)),
[INFO] [stdout]     |                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:693:55
[INFO] [stdout]     |
[INFO] [stdout] 693 |                 Ok(Span::from_parts(Token::EndOfFile, 19..19)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:705:35
[INFO] [stdout]     |
[INFO] [stdout] 705 |                         contents: 2..3,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:709:21
[INFO] [stdout]     |
[INFO] [stdout] 709 |                     0..3,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:711:55
[INFO] [stdout]     |
[INFO] [stdout] 711 |                 Ok(Span::from_parts(Token::EndOfFile, 3..3)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:719:35
[INFO] [stdout]     |
[INFO] [stdout] 719 |                         contents: 2..17,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:721:38
[INFO] [stdout]     |
[INFO] [stdout] 721 |                         suffix: Some(17..22),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:723:21
[INFO] [stdout]     |
[INFO] [stdout] 723 |                     0..22,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:725:55
[INFO] [stdout]     |
[INFO] [stdout] 725 |                 Ok(Span::from_parts(Token::EndOfFile, 22..22)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:731:65
[INFO] [stdout]     |
[INFO] [stdout] 731 |                 Err(Span::from_parts(TokenError::ExpectedDigit, 2..2)),
[INFO] [stdout]     |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:732:55
[INFO] [stdout]     |
[INFO] [stdout] 732 |                 Ok(Span::from_parts(Token::EndOfFile, 2..2)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:740:35
[INFO] [stdout]     |
[INFO] [stdout] 740 |                         contents: 2..4,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:744:21
[INFO] [stdout]     |
[INFO] [stdout] 744 |                     0..4,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:748:35
[INFO] [stdout]     |
[INFO] [stdout] 748 |                         contents: 4..5,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |                     4..5,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:754:55
[INFO] [stdout]     |
[INFO] [stdout] 754 |                 Ok(Span::from_parts(Token::EndOfFile, 5..5)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:766:35
[INFO] [stdout]     |
[INFO] [stdout] 766 |                         contents: 2..3,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:770:21
[INFO] [stdout]     |
[INFO] [stdout] 770 |                     0..3,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:772:55
[INFO] [stdout]     |
[INFO] [stdout] 772 |                 Ok(Span::from_parts(Token::EndOfFile, 3..3)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:780:35
[INFO] [stdout]     |
[INFO] [stdout] 780 |                         contents: 2..17,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:782:38
[INFO] [stdout]     |
[INFO] [stdout] 782 |                         suffix: Some(17..22),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:784:21
[INFO] [stdout]     |
[INFO] [stdout] 784 |                     0..22,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:786:55
[INFO] [stdout]     |
[INFO] [stdout] 786 |                 Ok(Span::from_parts(Token::EndOfFile, 22..22)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:792:65
[INFO] [stdout]     |
[INFO] [stdout] 792 |                 Err(Span::from_parts(TokenError::ExpectedDigit, 2..2)),
[INFO] [stdout]     |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:793:55
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 Ok(Span::from_parts(Token::EndOfFile, 2..2)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:801:35
[INFO] [stdout]     |
[INFO] [stdout] 801 |                         contents: 2..4,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:805:21
[INFO] [stdout]     |
[INFO] [stdout] 805 |                     0..4,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:809:35
[INFO] [stdout]     |
[INFO] [stdout] 809 |                         contents: 4..5,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:813:21
[INFO] [stdout]     |
[INFO] [stdout] 813 |                     4..5,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:815:55
[INFO] [stdout]     |
[INFO] [stdout] 815 |                 Ok(Span::from_parts(Token::EndOfFile, 5..5)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:827:35
[INFO] [stdout]     |
[INFO] [stdout] 827 |                         contents: 2..3,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:831:21
[INFO] [stdout]     |
[INFO] [stdout] 831 |                     0..3,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:833:55
[INFO] [stdout]     |
[INFO] [stdout] 833 |                 Ok(Span::from_parts(Token::EndOfFile, 3..3)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:841:35
[INFO] [stdout]     |
[INFO] [stdout] 841 |                         contents: 2..17,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:843:38
[INFO] [stdout]     |
[INFO] [stdout] 843 |                         suffix: Some(17..22),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:845:21
[INFO] [stdout]     |
[INFO] [stdout] 845 |                     0..22,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:847:55
[INFO] [stdout]     |
[INFO] [stdout] 847 |                 Ok(Span::from_parts(Token::EndOfFile, 22..22)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:853:65
[INFO] [stdout]     |
[INFO] [stdout] 853 |                 Err(Span::from_parts(TokenError::ExpectedDigit, 2..2)),
[INFO] [stdout]     |                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:854:55
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 Ok(Span::from_parts(Token::EndOfFile, 2..2)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:862:35
[INFO] [stdout]     |
[INFO] [stdout] 862 |                         contents: 2..4,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:864:38
[INFO] [stdout]     |
[INFO] [stdout] 864 |                         suffix: Some(4..5),
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:866:21
[INFO] [stdout]     |
[INFO] [stdout] 866 |                     0..5,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:868:55
[INFO] [stdout]     |
[INFO] [stdout] 868 |                 Ok(Span::from_parts(Token::EndOfFile, 5..5)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:880:35
[INFO] [stdout]     |
[INFO] [stdout] 880 |                         contents: 0..1,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:884:21
[INFO] [stdout]     |
[INFO] [stdout] 884 |                     0..1,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:886:55
[INFO] [stdout]     |
[INFO] [stdout] 886 |                 Ok(Span::from_parts(Token::EndOfFile, 1..1)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:894:35
[INFO] [stdout]     |
[INFO] [stdout] 894 |                         contents: 0..15,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:896:38
[INFO] [stdout]     |
[INFO] [stdout] 896 |                         suffix: Some(15..20),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:898:21
[INFO] [stdout]     |
[INFO] [stdout] 898 |                     0..20,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:900:55
[INFO] [stdout]     |
[INFO] [stdout] 900 |                 Ok(Span::from_parts(Token::EndOfFile, 20..20)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:908:35
[INFO] [stdout]     |
[INFO] [stdout] 908 |                         contents: 0..11,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:910:38
[INFO] [stdout]     |
[INFO] [stdout] 910 |                         suffix: Some(11..16),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:912:21
[INFO] [stdout]     |
[INFO] [stdout] 912 |                     0..16,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:914:55
[INFO] [stdout]     |
[INFO] [stdout] 914 |                 Ok(Span::from_parts(Token::EndOfFile, 16..16)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:922:35
[INFO] [stdout]     |
[INFO] [stdout] 922 |                         contents: 0..11,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:924:38
[INFO] [stdout]     |
[INFO] [stdout] 924 |                         suffix: Some(11..12),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:926:21
[INFO] [stdout]     |
[INFO] [stdout] 926 |                     0..12,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:928:51
[INFO] [stdout]     |
[INFO] [stdout] 928 |                 Ok(Span::from_parts(Token::Pound, 12..13)),
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:930:51
[INFO] [stdout]     |
[INFO] [stdout] 930 |                     Token::Identifier { contents: 13..18 },
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:931:21
[INFO] [stdout]     |
[INFO] [stdout] 931 |                     13..18,
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:933:55
[INFO] [stdout]     |
[INFO] [stdout] 933 |                 Ok(Span::from_parts(Token::EndOfFile, 18..18)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:947:35
[INFO] [stdout]     |
[INFO] [stdout] 947 |                         contents: 1..1,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:951:21
[INFO] [stdout]     |
[INFO] [stdout] 951 |                     0..2,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:953:55
[INFO] [stdout]     |
[INFO] [stdout] 953 |                 Ok(Span::from_parts(Token::EndOfFile, 2..2)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:959:75
[INFO] [stdout]     |
[INFO] [stdout] 959 |                 Err(Span::from_parts(TokenError::ExpectedDelimiter('\''), 1..1)),
[INFO] [stdout]     |                                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:960:55
[INFO] [stdout]     |
[INFO] [stdout] 960 |                 Ok(Span::from_parts(Token::EndOfFile, 1..1)),
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:968:35
[INFO] [stdout]     |
[INFO] [stdout] 968 |                         contents: 2..9,
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:972:21
[INFO] [stdout]     |
[INFO] [stdout] 972 |                     0..10,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:974:55
[INFO] [stdout]     |
[INFO] [stdout] 974 |                 Ok(Span::from_parts(Token::EndOfFile, 10..10)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:982:35
[INFO] [stdout]     |
[INFO] [stdout] 982 |                         contents: 2..11,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:986:21
[INFO] [stdout]     |
[INFO] [stdout] 986 |                     0..12,
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:988:55
[INFO] [stdout]     |
[INFO] [stdout] 988 |                 Ok(Span::from_parts(Token::EndOfFile, 12..12)),
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lexer/tokenizer.rs:996:35
[INFO] [stdout]     |
[INFO] [stdout] 996 |                         contents: 2..12,
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1000:21
[INFO] [stdout]      |
[INFO] [stdout] 1000 |                     0..13,
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1002:55
[INFO] [stdout]      |
[INFO] [stdout] 1002 |                 Ok(Span::from_parts(Token::EndOfFile, 13..13)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1010:21
[INFO] [stdout]      |
[INFO] [stdout] 1010 |                     14..14,
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1012:55
[INFO] [stdout]      |
[INFO] [stdout] 1012 |                 Ok(Span::from_parts(Token::EndOfFile, 14..14)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1020:21
[INFO] [stdout]      |
[INFO] [stdout] 1020 |                     15..15,
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1022:55
[INFO] [stdout]      |
[INFO] [stdout] 1022 |                 Ok(Span::from_parts(Token::EndOfFile, 15..15)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1030:21
[INFO] [stdout]      |
[INFO] [stdout] 1030 |                     16..16,
[INFO] [stdout]      |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1032:55
[INFO] [stdout]      |
[INFO] [stdout] 1032 |                 Ok(Span::from_parts(Token::EndOfFile, 16..16)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1040:35
[INFO] [stdout]      |
[INFO] [stdout] 1040 |                         contents: 4..14,
[INFO] [stdout]      |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1044:21
[INFO] [stdout]      |
[INFO] [stdout] 1044 |                     0..17,
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1046:55
[INFO] [stdout]      |
[INFO] [stdout] 1046 |                 Ok(Span::from_parts(Token::EndOfFile, 17..17)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1054:35
[INFO] [stdout]      |
[INFO] [stdout] 1054 |                         contents: 5..15,
[INFO] [stdout]      |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1058:21
[INFO] [stdout]      |
[INFO] [stdout] 1058 |                     0..18,
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1060:51
[INFO] [stdout]      |
[INFO] [stdout] 1060 |                 Ok(Span::from_parts(Token::Pound, 18..19)),
[INFO] [stdout]      |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1061:55
[INFO] [stdout]      |
[INFO] [stdout] 1061 |                 Ok(Span::from_parts(Token::EndOfFile, 19..19)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1069:35
[INFO] [stdout]      |
[INFO] [stdout] 1069 |                         contents: 2..12,
[INFO] [stdout]      |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1073:21
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                     0..13,
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1075:55
[INFO] [stdout]      |
[INFO] [stdout] 1075 |                 Ok(Span::from_parts(Token::EndOfFile, 13..13)),
[INFO] [stdout]      |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1140:53
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             ("hello", Token::Identifier { contents: 0..5 }),
[INFO] [stdout]      |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1141:54
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             ("_hello", Token::Identifier { contents: 0..6 }),
[INFO] [stdout]      |                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1142:55
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             ("__hello", Token::Identifier { contents: 0..7 }),
[INFO] [stdout]      |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1143:55
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             ("r#hello", Token::Identifier { contents: 2..7 }),
[INFO] [stdout]      |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/lexer/tokenizer.rs:1144:55
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             ("r#crate", Token::Identifier { contents: 2..7 }),
[INFO] [stdout]      |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lexer/test_utils.rs:40:44
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 Ok(Span::from_parts(token, 0..chars.len())),
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lexer/test_utils.rs:41:55
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 Ok(Span::from_parts(Token::EndOfFile, chars.len()..chars.len())),
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skip_to_end_delimiter` is never used
[INFO] [stdout]  --> src/lexer/delimiter_checker.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) trait DelimitedTokenReader: TokenReader {
[INFO] [stdout]   |                  -------------------- method in this trait
[INFO] [stdout] 6 |     fn skip_to_end_delimiter(&mut self, ty: DelimiterType);
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `consume_to_semicolon` is never used
[INFO] [stdout]   --> src/lexer/token_reader.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait TokenReader {
[INFO] [stdout]    |                  ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn consume_to_semicolon(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public enum definition
[INFO] [stdout]   --> src/expression_parser/expression.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |         contents: Range<usize>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public enum definition
[INFO] [stdout]   --> src/expression_parser/expression.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 |         suffix: Option<Range<usize>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public enum definition
[INFO] [stdout]   --> src/expression_parser/expression.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |         identifier: Range<usize>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]  --> src/span.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn from_parts(t: T, range: Range<usize>) -> Self {
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `like_rust` (lib) due to 5 previous errors; 19 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: method `consume_to_semicolon` is never used
[INFO] [stdout]   --> src/lexer/token_reader.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait TokenReader {
[INFO] [stdout]    |                  ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn consume_to_semicolon(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 181 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1e42448db63557ab8fe4c09c9d936e14a697140d07a84e8f0c90907393870a88", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e42448db63557ab8fe4c09c9d936e14a697140d07a84e8f0c90907393870a88", kill_on_drop: false }`
[INFO] [stdout] 1e42448db63557ab8fe4c09c9d936e14a697140d07a84e8f0c90907393870a88
